みずほ銀行オンライン・システム障害について 〜 注62

公開: 2022年7月21日

更新: 2022年7月21日

注62. 過去のソフトウェア開発から人類が学んだこと

1960年代の初頭、米国コンピュータ・メーカのIBM社では、新しいコンピュータの開発に取り組んでいた。そのコンピュータは、大型コンピュータから小型コンピュータまで、個々のコンピュータを構成する電子回路は違っていても、同じ機械語プログラムで同じ計算をすることができる画期的なものであった。IBM社は、そのコンピュータの開発に約5年の歳月をかけたが、そのコンピュータを顧客に提供することができなかった。

その理由は、1964年の末までに、それらのコンピュータをユーザが利用するために必要な「基本ソフトウェア」である、「オペレーティング・システム」を開発できなかったからである。この人類最初の商用オペレーティング・システムの開発責任者に抜擢されていたのが、世界最初のリレー式コンピュータをハーバード大学でエイケン教授が、IBMと開発した時、学生としてそのプロジェクトに参画していたブルックスであった。

ブルックスも、経営者であったワトソン2世も、このオペレーティング・システムの開発が、それほど難しい事業であることは予想していなかった。しかし、一旦、その開発プロジェクトが始まると、それまでにIBM社では経験したことのない問題が次々と発生した。それは、ソフトウェアが、それまでに人類が経験していた様々な「もの」の開発とは全く異なる特徴を持っていたからであった。そのため、ブルックスもワトソンも、発生する問題を解決するために、次々と必要な技術者を投入していった。

最初に設計を始めた時、わずか数名の優秀な技術者で始まったプロジェクトが、その途中で、開発技術者だけで、200名を超える大規模プロジェクトに変っていた。200名の技術者を管理するためには、50名を超える管理者が必要になる。しかし、管理者の能力をもった人材を養成するためには、10年以上の年月を必要とする。そのような時間的余裕もなく、技術者や管理者の人材を投入したため、ある時点から、プロジェクトは、全くと言ってよいほど、進捗しなくなった。

さらに、巨大なプロジェクトをしっかりと管理するためには、そのための組織が必要になる。それまでの経験から「もの」を作るための組織をどう構築すれば良いかは分かっていたが、「もの」ではないソフトウェアの開発組織をどう構成するべきかは、全く未知の問題であった。さらに、組織間での仕事の調整のためには、仕事の仕方を文書化した「プロセス」の取り決めも必要であった。ブルックス達は、「もの」づくりのプロセスを真似て、それらを作り上げながら、プロジェクトを進めて行った。

このプロジェクトが完了して約10年が経った1975年、ブルックスはこのプロジェクトの経験をまとめ、「人月の神秘」と題された書籍を出版した。さらにその約10年後、ブルックスは、ソフトウェア開発がなぜ難しいのかを分析した、「銀の弾丸はない」と題した論文を発表した。

これら2つの出版物には、「ソフトウェア開発ではどのような問題が発生するのか」、と「なぜ、そのような問題が発生するのか」について、今日でも我々がしばしば経験する問題の様相と、その原因が提示されている。

参考になる読み物

ブルックス, F.著、「人月の神話」、丸善出版(2014)
ブルックス, F.著、No Silver Bullet, IEEE Software, April 1987